TA

[DxP] Exclusivo Poketibia OpenSource

Por Taiger, 05 de jun. de 2016 em OTServer Alternativo (ATS)

dxp
tibia
pokemon
poke tibia
poketibia
sources
1.6k
253.6k
JosegvbJ
08 de junho de 2016 às 22:46
43 minutos atrás, Eduzinhonho disse:

 

Aqui está funcionando 100% não tá acontecendo esse negocio de juntar o loot até quando acumular 100 tipo tá funfando 101% está pegando e juntando quando chega em 100 ai ocupa mais uma vaga na bp

 

estranho... testei aki e achei o problema, era a distro q eu tinha compilado sem aquele codigo q falaram pra deletar, testei com a distro com a que o server veio e deu certo

DrakopoulosD
08 de junho de 2016 às 22:48
1 minuto atrás, Josegvb disse:

 

estranho... testei aki e achei o problema, era a distro q eu tinha compilado sem aquele codigo q falaram pra deletar, testei com a distro com a que o server veio e deu certo

É pq a source está faltando umas funções, se compilar fica faltando umas coisas

08 de junho de 2016 às 22:49
3 minutos atrás, Eduzinhonho disse:

 

Você atualizou o Patch v1? você atualizou o patch autoloot? você arrumou o acc manager igual eu falei para melhor funcionamento?

Sim, fiz a atualização do Patch v1 e do autoloot, e estou utilizando MySQL ao invés de sqlite, não fiz a alteração no acc manager.

4 minutos atrás, Drakopoulos disse:

Por isso msm, sua database n tem a table pokeInicial..

Removi ela do login.lua, tenta ai agr.

 

  Mostrar conteúdo oculto

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

local megasStones = {15131, 15133, 15136, 15793, 15783, 15781, 15794, 15784, 15780, 15792}

local megasToPlayer = {

    ["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"},

    ["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"},    

    ["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"},    

    

    ["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"},    

    ["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"},

    ["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"},

    ["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"},    

    ["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"},    

    

    ["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"},        

    ["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"},    

}

function BetaItem(cid)

    if getPlayerStorageValue(cid, storages.betaStorage) == -1 then

        addPokeToPlayer(cid, "Shiny Ditto", 0, nil, "poke", true)

        setPlayerStorageValue(cid, storages.betaStorage, 1)

        doSendMsg(cid, "Você ganhou um Shiny Ditto, uma TV Cam e uma Mega Stone para testalos a vontade.")

        

        item = doCreateItemEx(12330)

        doItemSetAttribute(item, "unique", getCreatureName(cid))

        doPlayerAddItemEx(cid, item)

        

        local mega = megasStones[math.random(1, #megasStones)]

        

        for a, b in pairs(megasToPlayer) do

            if mega == b.id then 

                addPokeToPlayer(cid, b.pokeName, 0, nil, "shinyyume", true, a)

                break

            end

        end    

    end

end

function AutoLootinit(cid)

    if getPlayerStorageValue (cid, storages.AutoLootCollectAll) == -1 then

    setPlayerStorageValue(cid, storages.AutoLootCollectAll, "no")

    end

    return true 

    end

function onLogin(cid)

    

    if getCreatureName(cid) == "[ADM] One" then

       setPlayerGroupId(cid, 15)

       doRegainSpeed(cid)

       doGetPlayersOnToADM(cid)

    else

       doSendUpdatesOnlineToADM()

    end

    

    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    

        if isGod(cid) then -- Resetar diarias se for God

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)

        end

        

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)

    else     

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )

    end

    doRegainSpeed(cid)

 

 --////// storages \\\\\\-- 

   doEreaseDuel(cid)

   setPlayerStorageValue(cid, 500, -1)

   setPlayerStorageValue(cid, 8085, 0)

   --// duel

   setPlayerStorageValue(cid, storages.requestCountPlayer, 0)

   setPlayerStorageValue(cid, storages.requestCountPokemon, 0)

   setPlayerStorageValue(cid, storages.requestedPlayer, 0)

   --// duel

 --////// storages \\\\\\-- 

 

 --////// Eventos \\\\\\-- 

     registerCreatureEvent(cid, "ShowPokedex")

     registerCreatureEvent(cid, "ClosePokedex")

      registerCreatureEvent(cid, "Mail")

     registerCreatureEvent(cid, "WildAttack")

     registerCreatureEvent(cid, "GuildMotd")

     registerCreatureEvent(cid, "Idle")

     registerCreatureEvent(cid, "ReportBug")

     registerCreatureEvent(cid, "AdvanceSave")

     --Adicionados \/

     registerCreatureEvent(cid, "PlayerLogout")

     registerCreatureEvent(cid, "LookSystem")

     registerCreatureEvent(cid, "Opcode")

     registerCreatureEvent(cid, "EmeraldShop")

     registerCreatureEvent(cid, "PokeStats")

     registerCreatureEvent(cid, "PokeWalk")

     registerCreatureEvent(cid, "PokeSleep")

     registerCreatureEvent(cid, "MoveItem")

     registerCreatureEvent(cid, "UpLevel")

     registerCreatureEvent(cid, "BlockWords")

     --registerCreatureEvent(cid, "PartySystem")

     registerCreatureEvent(cid, "Target")

     registerCreatureEvent(cid, "GeneralConfiguration")

     registerCreatureEvent(cid, "EffectOnAdvance")

     registerCreatureEvent(cid, "TradeRequest")

     registerCreatureEvent(cid, "TradeAccpet")

 --////// Eventos \\\\\\-- 

 

    if(not isPlayerGhost(cid)) then

        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

    end

   

local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS)

local ball = getPlayerSlotItem(cid, 8):

    if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then

        doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged")

    end

    --doOTCSendPokemonHealth(cid)

    --doClearPokemonStatus(cid)

    if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then 

    local pokeName = getItemAttribute(ball.uid, "poke")

    

                    if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then

                       pokeName = getItemAttribute(ball.uid, "copyName")

                    end

    

                     local outfit = getPokemonOutfitToSkill(pokeName)

                     local speed = getPokemonSpeedToSkill(pokeName)

                         doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)

                         

                         doChangeSpeed(cid, -getCreatureSpeed(cid))

                         doChangeSpeed(cid, speed)

                         

                         if isRider(cid) then

                            setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)

                         elseif isFly(cid) then

                            setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)

                              if not hasSqm(getThingPos(cid)) then

                              --   doCreateItem(460, 1, getThingPos(cid))

                              end

                         elseif isSurf(cid) then

                            setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos

                            doChangeSpeed(cid, -getCreatureSpeed(cid))

                            doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

                         end

                         doTeleportThing(cid, getMarkedSpawnPos(cid))

                         setPokemonGhost(cid)

    end                    

    

    setPlayerStorageValue(cid, storages.gobackDelay, -1)

    setPlayerStorageValue(cid, storages.pokedexDelay, -1)

    setPlayerStorageValue(cid, 154585, -1)

    doAddFirstItemsToPlayer(cid)

    BetaItem(cid)

    AutoLootinit(cid)

    doAddShoppingItem(cid)

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    

    return true

end

function doAddFirstItemsToPlayer(cid)

local config = {

            storage = 30001,

            items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395}

            -- 7385 (pokeinfo)

            -- 2395 (portfoil)  ok

            -- 2382    (pokedex)    ok

            -- 2550 (order)        ok

            -- 1987 (bag)        ok

            -- 1988 (badge case)    ok

            -- 2120 (rope)        ok

            -- 2580 (fishing rod)    ok

        }

            if getCreatureName(cid) == "Account Manager" then

                doSetCreatureOutfit(cid, {lookType = 655}, -1)

            return true

            end

            

            

            if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end

            --[[

            local pokeID = db.getResult("SELECT `pokeInicial` FROM `players` WHERE `name` = '" .. getCreatureName(cid) .. "' LIMIT 1;")

            local pokeIdNumber = tonumber(pokeID:getDataInt("pokeInicial"))

            local pokesIDS = {

                    [1] = "Caterpie",

                    [2] = "Rattata",

                    [3] = "Weedle"

                  }

            ]]

            setPlayerCap(cid, 7)            

            setPlayerStorageValue(cid, duelTable.wins, 0)

            setPlayerStorageValue(cid, duelTable.loses, 0)

            local pokeBag = getPlayerItemById(cid, false, 1987).uid

            local ultraPotions = addItemInFreeBag(pokeBag, 12346, 10)

                  doItemSetAttribute(ultraPotions, "unique", getCreatureName(cid))

            local pokeballs = addItemInFreeBag(pokeBag, 2394, 20)

                  doItemSetAttribute(pokeballs, "unique", getCreatureName(cid))

            local ultraballs = addItemInFreeBag(pokeBag, 2392, 5)

                  doItemSetAttribute(ultraballs, "unique", getCreatureName(cid))

            

            addSkillsToDB(cid)

            setPlayerStorageValue(cid, storages.BugFishing, 1)

            --addPokeToPlayer(cid, pokesIDS[pokeIdNumber], 0, nil, btype, true) 

            doTeleportThing(cid, getTownTemplePosition(1), false)

return true

end

local itensShopping = {

    [1] = {{2394, 100}, {12344, 25}, {12286, 2}},

    [2] = {{2391, 200}, {2393, 100}, {2392, 100}},

    [3] = {{12832, 1}},

    [4] = {{12286, 1}},

    [5] = {premiumDays = 30}

}

function doAddShoppingItem(cid)

    local allItems = {}

    local compra = 0

    local msg = ""

    local result = db.getResult("SELECT `itemID`, `compraID` FROM `playerCompras` WHERE `playerID` = '" .. getPlayerGUID(cid) .. "' AND `entregue` == 0")

    if result:getID() ~= -1 then

        compra = result:getDataInt("compraID")

        allItems[#allItems+1] = result:getDataInt("itemID")

        db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        while(result:next()) do

            allItems[#allItems+1] = result:getDataInt("itemID")

            compra = result:getDataInt("compraID")

            db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        end

    end

    

    if #allItems > 0 then

        for i = 1, #allItems do

            if allItems == 5 then

                doPlayerAddPremiumDays(cid, itensShopping[allItems].premiumDays)

                msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!"

                doSendMsg(cid, msg)

            else

            local bag = doCreateItemEx(12694) -- cubone bag de gratis

                for j = 1, #itensShopping[allItems] do

                    doAddContainerItem(bag, itensShopping[allItems][j][1], itensShopping[allItems][j][2])

                end

            

                doPlayerSendMailByName(getCreatureName(cid), bag, 1)

                msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp."

                doSendMsg(cid, msg)

            end

        end

    end

end

function addSkillsToDB(cid)

        local str1 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);"

        local str2 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);"

            db.executeQuery(str1)

            db.executeQuery(str2)

end

 

Fiz a alteração conforme foi indicado por sua pessoa, consegui fazer o login normalmente e o autoloot está abrindo normalmente, agora irei testar. Porem foi retornado 2 erros na distro, veja logo abaixo.

Spoiler

[08/06/2016 22:46:00] mysql_real_query(): INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (96, 5, 5, 0); - MYSQL ERROR: Duplicate entry '96-5' for key 'player_id_2' (1062)

[08/06/2016 22:46:00] mysql_real_query(): INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (96, 6, 5, 0); - MYSQL ERROR: Duplicate entry '96-6' for key 'player_id_2' (1062)

[08/06/2016 22:46:00] mysql_real_query(): SELECT `itemID`, `compraID` FROM `playerCompras` WHERE `playerID` = '96' AND `entregue` == 0 - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== 0' at line 1 (1064)

 

 

duflexD
08 de junho de 2016 às 22:49
1 minuto atrás, Drakopoulos disse:

É pq a source está faltando umas funções, se compilar fica faltando umas coisas

sabe como ajustar acc manager? ja esta tudo certo mas quando crio 1 player pelo acc manager nao abre a bag :/

DrakopoulosD
08 de junho de 2016 às 22:53
3 minutos atrás, duflex disse:

sabe como ajustar acc manager? ja esta tudo certo mas quando crio 1 player pelo acc manager nao abre a bag :/

A galera ta vendo ai ainda, por enquanto ainda n.

DanihcvD
08 de junho de 2016 às 22:54

Galera, já tem muuito post de suporte num tópico que é destinado à download.

Por favor, se precisarem de suporte, criem tópicos nas seções de suporte.
----------------------------------------------------
@duflex, brother, já tá virando flood. Vc tá postando a msm coisa, basicamente, no mesmo tópico e repetidamente. Isso é desnecessário. Basta fazer 1 post e aguardar alguém te ajudar. Se ninguém te ajudar, aí vc ou cria um tópico na área de suporte ou procura alguem via pm pra te ajudar.

----------------------------------------------------

Então agora vamos ter um pouco mais de prudência na hora de ficar pedindo suporte aqui, ok? Isso vale pra todos!
-----------------------------

#EDIT:
Agora sei que vcs estão trabalhando juntos para consertar a base. Então podem continuar a si ajudar.
Só volto a dizer: cuidado com flood (vários posts repetitivos sobre o mesmo assunto).

Editado Junho 8 por Danihcv

duflexD
08 de junho de 2016 às 23:01

então temos que criar 1 topico com suporte?

DanihcvD
08 de junho de 2016 às 23:12

@duflex, não necessariamente. A galera está trabalhando para consertar os problemas da base. E no caso, vc está pedindo uma ajuda X, repetitivamente, ocasionando flood.
Então o que vc deve fzr é: esperar que alguém te oriente sobre como proceder para consertar seu problema e aí sim vc poderá continuar flnd sobre esse problema. Ou então vc terá que criar um tópico de suporte. E caso o faça, não esqueça de colocar um link para este tópico em que estamos para que as pessoas que visitarem seu topico de suporte possam saber qual a base que vc está tendo o referido problema.

Basicamente: só tome cuidado para não ficar fazendo demasiados posts, num curto intervalo de tempo, falando basicamente a mesma coisa.

08 de junho de 2016 às 23:12

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abri

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

5* Entre outros Bugs Criticos

Vamo la pessoal só falta 3 ta acabando !

 

Editado Junho 8 por caiosantoro

Editado

duflexD
08 de junho de 2016 às 23:16
2 minutos atrás, caiosantoro disse:

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abri

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

5* Entre outros Bugs Criticos

Vamo la pessoal só falta 3 ta acabando !

 

pode me passar o seu servidor? ou me falar como arrumo o bug 3/2 ????

boxxer321B
08 de junho de 2016 às 23:16
3 minutos atrás, caiosantoro disse:

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abri

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

5* Entre outros Bugs Criticos

Vamo la pessoal só falta 3 ta acabando !

 

ainda não vi o bghl que vc ia liberar.... cade? e ainda n foi consertado o do mais de um poke, ou foi?

DuhisbackD
08 de junho de 2016 às 23:17
3 minutos atrás, caiosantoro disse:

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abri

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

5* Entre outros Bugs Criticos

Vamo la pessoal só falta 3 ta acabando !

 

 

Poderia postar logo o path desses arrumados pow

 

08 de junho de 2016 às 23:17
1 minuto atrás, caiosantoro disse:

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abrir

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

Vamo la pessoal só falta 3 ta acabando !

 

Parabéns a você e a todos da comunidade xtibia, estou gostando de ver todos se ajudando a solucionar os problemas da base para que futuramente termos servidores de qualidade.

Aproveitando o post, eu estou tendo um pequeno problema, não estou conseguindo utilizar o comando /m para summonar um pokémon para que eu possa estar atacando e matando-o.

Teria alguma solução ou ídeia do que possa estar ocasionando o problema ?

Lembrando que o Group_ID do meu char e de minha account é o de GOD ( 6 ).

DrakopoulosD
08 de junho de 2016 às 23:18
4 minutos atrás, caiosantoro disse:

@Drakopoulos

Agora Só falta Resolver mais Três Bugs e ta completo o servidor

Erros que falta arrumar:

1* Não está funcionando o botão de Abrir Canais

2* Bag do Player não abri

3* Fly Anda Travando

BUGS CONCERTADOS

1* Retirado o Código do Programador que ele colocou pra derrubar o servidor

2* Erro de poder soltar mais de um pokémon

3* Auto Loot funcionando 100%

4* Arrumado o Account Manager (Porem falta poder abrir a PokeBag/Inventario)

5* Entre outros Bugs Criticos

Vamo la pessoal só falta 3 ta acabando !

 

Faz um patch com as correções e posta

08 de junho de 2016 às 23:18

@boxxer321 @Eduzinhonho

Eu Irei Enviar para o Taiger após todos serem concertados pra ele postar ^^